package com.cskaoyan._04oop1._02test;

import java.util.Random;

/**
 * @author Macro_Ray
 * @since 2024/3/7 9:42
 */
public class _02Role {
    private String name; // 角色姓名
    private int blood;  // 血量

    // 空参
    public _02Role() {
    }

    // 全参
    public _02Role(String name, int blood) {
        this.name = name;
        this.blood = blood;
    }

    // get/set
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getBlood() {
        return blood;
    }

    public void setBlood(int blood) {
        this.blood = blood;
    }

    // 定义方法用于攻击
    // Role r1 = new Role（）；
    // Role r2 = new Role（）；
    // r1.攻击（r2）；
    // 方法的调用者去攻击参数
    public void attack(_02Role role) {
        // 计算造成的伤害
        Random r = new Random();
        int hurt = r.nextInt(20) + 30;
        // 扣除受到伤害角色的血量
        int reminBoold = role.getBlood() - hurt;
        // 剩余血量验证，如果负数修改为零
        reminBoold = (reminBoold < 0) ? 0 : reminBoold;
        // 修改受伤角色剩余血量
        role.setBlood(reminBoold);


        // this表示方法的调用者
        System.out.println(this.getName() + "举起拳头，打了" + role.getName() + "一下，造成" + hurt + "点伤害，" + role.getName() +
                "还剩下" + reminBoold + "点血");
    }


}
